06. Robot Enhancements

Robot Enhancement

Now that you’ve built a basic model of your robot, enhance it and add wheels. Each wheel is represented as a link and is connected to the base link (the chassis) with a joint .

You will first create the links for each wheel using the specifications given below and add that to your Xacro file. For each wheel, you will have a collision , inertial , and visual element, along with the following properties:

  • link name - "SIDE_wheel", where the SIDE is either left or right.
  • geometry - "cylinder" with radius 0.1 and length 0.05.
  • origin for each element - [0, 0, 0, 0, 1.5707, 1.5707]
  • mass of each wheel - "5".
  • You can use the same inertia values as the ones for the chassis for simplicity:
    ixx="0.1" ixy="0" ixz="0"
    iyy="0.1" iyz="0"
    izz="0.1"

Create Joints for the two wheels

Once define the links, you need to create the corresponding joints. The following elements will create a joint between your left wheel (the child link) and the robot chassis (the parent link):

  <joint type="continuous" name="left_wheel_hinge">
    <origin xyz="0 0.15 0" rpy="0 0 0"/>
    <child link="left_wheel"/>
    <parent link="chassis"/>
    <axis xyz="0 1 0" rpy="0 0 0"/>
    <limit effort="10000" velocity="1000"/>
    <dynamics damping="1.0" friction="1.0"/>
  </joint>

The joint type is set to "continuous" and is similar to a revolute joint but has no limits on its rotation. This means that the joint can rotate continuously. The joint will have its own axis of rotation. Also, the joint will have certain limits to enforce the maximum "effort" and "velocity" for that joint. The limits are useful constraints in for a real robot and can help in simulation as well. ROS has good documentation on safety limits . In addition, the joint will have specific joint dynamics that correspond to the physical properties of the joint like "damping" and “friction”.

Add the left wheel joint to your Xacro file. Then use it as a template to create the joint between the right wheel and the chassis.

Robot Enhancements

What elements or values did you have to modify to create the right wheel joint using the left wheel joint as the template?

SOLUTION:
  • Child link
  • Position (origin)

Launch

Excellent work! You can now launch the empty.world file to visualize your enhanced robot model in Gazebo.

Task Description:

Follow these steps to enhance the basic robot model created earlier.

Task List:

Task Feedback:

Great job!